package com.zhihao.domain.activity.model.entity;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * @author Jackson
 * @description 活动账户实体对象
 * @create 2024-03-16 10:43
 */
/*
    为什么要有‘总次数’和‘剩余次数’一说，为什么不直接就是一个次数，记录用户当前还有多少次数？
        通常这类业务，会有”总“和”当前现有“的，”总“的相当于可以看出来一个账户的最大流水是多少
            下单的时候，总次数_剩余次数同时在增加；消耗次数的时候仅扣减剩余次数
        类似银行账户中，实际上是有总流水类似的金额值的，只不过用户看到的大多数都是现有的余额
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class ActivityAccountEntity {

    /**
     * 用户ID
     */
    private String userId;

    /**
     * 活动ID
     */
    private Long activityId;

    /**
     * 总次数
     */
    private Integer totalCount;

    /**
     * 总次数-剩余
     */
    private Integer totalCountSurplus;

    /**
     * 日次数
     */
    private Integer dayCount;

    /**
     * 日次数-剩余
     */
    private Integer dayCountSurplus;

    /**
     * 月次数
     */
    private Integer monthCount;

    /**
     * 月次数-剩余
     */
    private Integer monthCountSurplus;

}
